******************************************************************
*                                                                *
*                         It's Terminal                          *
*                                                                *
*                  Version 1.009 - 15 March 2007                 *
*               Copyright 2007 - Meticulous-Software             *
*                  www.meticulous-software.co.uk                 *
*                                                                *
*                          Written By                            *
*                         Philip Symons                          *
*                                                                *
******************************************************************

Introduction
============

It's Terminal is a terminal program for software and hardware engineers.  It is designed to directly address the shortcomings and annoyances of the various terminal programs out there that we engineers are forced to use, including the hideous HyperTerminal that comes with Windows.  It contains features specifically designed for engineers developing hardware devices.

It's Terminal has been tested on WindowsXP and Windows2000.  In theory it will work on any NT based operating system, including NT4 and Vista.

It's Terminal is extremely easy and intuitive to use.

Startup - connection and disconnection
======================================

It's Terminal can currently communicate with RS232 and TCP/IP connections.  When the program is run it will present the connection window immediately.  From here you can choose your RS232 settings or TCP/IP settings appropriate for your remote device.  When done click connect and the connect window will disappear and the connection will be established.

You can enter any RS232 port number, addressing a serious shortcoming of virtually every other terminal program available.  Often Bluetooth devices have port numbers far out of range for these other terminal programs.  This isn't a problem for It's Terminal! 

The TCP/IP option allows the program to become a server or client.  If it is a server then it listens for connections from the remote device, if it is a client then it will connect directly to the remote server.

The settings entered in the connection window will be saved automatically and restored next time you run the program, ensuring an almost instant startup.

Clicking 'Cancel' will delay connection for the time being.  You can connect and disconnect at any time by using the options on the 'Connection' menu option.

The RS232 connection process is passive.  In other words, it does not know whether there really is a connection and simply opens the communications port and assumes the connection is made.  TCP/IP has active connections and will detect that the connection is established and whether it is disconnected through removal of cable or remote device alterations.

*** WARNING ***
===============

Some RS232 system drivers on Windows have serious bugs, and will generate a Blue-Screen-Of-Death if you select certain Flow Control settings.  I have seen this on Windows 2000.  So take care, and if the system Blue-Screens then it is likely you have one of these dodgy drivers.

Using the terminal
==================

The main terminal window consists of three main parts.  

Terminal Data Window
--------------------

The top-most largest area is the terminal data window that shows data sent to and received from the device.  The data is timestamped and marked as sent or received with the 'LOCAL' or 'REMOTE' tags.
The data received is displayed as text by default, but you can choose to see it as hexadecimal strings by selecting 'Hex' from the 'View' menu.

Data history will be stored indefinately in a single session.  I have used it for quite big tests, but I'm not really sure what will happen if you end up with many megabytes in this window!

The contents of the main terminal window can be saved or cleared with options on the menu or by right-clicking the window.

Send box
--------

The bottom-most area is the Send Box.  This is where you can type in text to send to the remote device.  Typing in the box and pressing enter will transmit the text directly as seen.  Clicking the 'Send' button will do the same.  Clicking the 'Send with CR/LF' will send carriage return and line feed characters (13 and 10) to the end of the text.  

'Send Special' provides a mechanism for transmitting characters that you cannot generate from the keyboard. This works by parsing your text for special control character sequences.  You can code characters as hexadecimal or decimal by using '$nn' or '#nnn'.
For example, entering the string '$A0' and clicking the 'Send Special' button would send the code 160 to the remote.  
Alternatively '#160' would do the same thing.  A decimal code must contain 3 characters, so you must enter leading zeros, e.g. '#007'  To transmit the ascii characters $ or #, simply enter them twice, e.g. '$$' or '##'

You can embed control codes with ascii strings, e.g. 'ABC$44EF$47' would send 'ABCDEFG'

Below the Send Box is the status bar that shows the current connection settings along with the number of characters transmitted and received.

Send History
------------

Every line of text transmitted is added to the history list, shown on the 'History' tab just above the Send Box.  When typing in the Send Box you can scroll back through the history with the up and down arrows.  Alternatively you can browse the history list with the mouse.  Clicking on an item will enter it into the Send Box.  

The Send History is maintained permanently and automatically on disk.  You can save and load data into the history, or clear its contents with options on the menu or when right-clicking in the history box.

Script
------

The Script tab allows you to send long and multi-line sections of text to the remote device.  Simply enter your text in the script box and click Send or Send Special found beside the box.  Send Special is exactly like that for the Send Box and allows you to embed control codes in the script text.  The Echo Locally option will display all that is sent in the Terminal data window.

Function Keys
-------------

The function keys tab allows you to define simple macros attached to any of the keyboard functions keys.  Simply enter the text you want and it will be instantly transmitted to the remote.  Function key data is always sent special, so you can use control codes here.
 
The function key items will be saved and restored.

Last Word
---------

Well, there we are.  If I've left anything out then sorry about that.  I have already used this application extensively, and it is pure bliss to use a terminal program that works properly and is designed to be used by a human.  I hope you find it useful.  


Disclaimer
==========

There is no warranty of any kind for this software, either expressed or implied.  It is provided in good faith may very well be full of horrible bugs.  You use it entirely at your own risk.  I pass notification here of the warning about Blue-Screen-Of-Death given above.

Copyright and Distribution
==========================

ItsTerminal is the copyright or Philip Symons, Meticulous Software.

ItsTerminal is DonationWare.  It is provide free, and you are free to distribute it without restriction provided that it is distributed entirely unmodified with this accompanying text file.  

However in my merry and rose-tinted view of the world, I like to believe in the honesty of others and, should you like this software and you feel moved to do so, then Meticulous Software would appreciate a donation, which can be made from the website via the Paypal secure payment system at www.meticulous-software.co.uk/downloads.htm 

Any donations are gratefully received, and will help maintain the website.


